package com.fdb.efp.nls.service.dao;

import com.fdb.basic.framework.core.base.DataOptionalAuthorityDao;
import com.fdb.efp.nls.service.domain.PspCheckTaskApp;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>DAO interface:检查任务申请表				<p>
 * @author chenqm1
 * @date 2018-05-03
 */
public interface PspCheckTaskAppDao extends DataOptionalAuthorityDao {
	
	public int insertPspCheckTaskApp(PspCheckTaskApp pspCheckTaskApp);
	
	public int deleteByPk(PspCheckTaskApp pspCheckTaskApp);
	
	public int updateByPk(PspCheckTaskApp pspCheckTaskApp);
	
	public int submitByPk(PspCheckTaskApp pspCheckTaskApp);
	
	public PspCheckTaskApp queryByPk(PspCheckTaskApp pspCheckTaskApp);
	
	public List<PspCheckTaskApp> queryAllOwnerByPage(PspCheckTaskApp pspCheckTaskApp);
	
	public List<PspCheckTaskApp> queryAllCurrOrgByPage(PspCheckTaskApp pspCheckTaskApp);
	
	public List<PspCheckTaskApp> queryAllCurrDownOrgByPage(PspCheckTaskApp pspCheckTaskApp);
	//查询最新一条检查数据
	public PspCheckTaskApp queryFirstByChkTime(String cusId);
	//查询客户名下最近一条风险预警贷后检查登记数据
	public PspCheckTaskApp queryFirstByWarnInfo(String cusId);
	//查询客户名下最近一条其他不利因素不为空检查数据
	public PspCheckTaskApp queryFirstByOth(String cusId);
	//查询客户名下最近一条情况说明及建议不为空检查数据
	public PspCheckTaskApp queryFirstByExp(String cusId);
	//是否存在人工已登记的贷后检查登记数据
	public List<PspCheckTaskApp> queryListByCusId(PspCheckTaskApp checkTaskInfo);
	//贷后检查登记客户移交
	public int pspIndivAppCusHandOver(@Param("fromUser") String fromUser, @Param("toUser") String toUser, @Param("fromBrId") String fromBrId, @Param("toBrId") String toBrId, @Param("cusIds") List<String> cusIds);
	//查询未结清客户最新的风险分类登记数据
	public List<PspCheckTaskApp> queryAllListByCusId();
	//批量新增
	public int insertBatchPspCheckTaskApp(@Param("pspCheckTaskApps") List<PspCheckTaskApp> list);
	//待登记的合同号
	public List<String> queryContList();

	public int deleteByDaybatDate(@Param("openDay") String openDay, @Param("chkType") String chkType);


	public int insertOrUpdateByPk(PspCheckTaskApp pspCheckTaskApp);

	public List<PspCheckTaskApp> queryByTaskNo(@Param("chkTaskNo") String chkTaskNo);
	public List<PspCheckTaskApp> queryByConditions(@Param("chkTaskNo") String chkTaskNo, @Param("cusId") String cusId, @Param("certCode") String certCode);

}